import os  # 添加模块导入

def read_file():
    result = []
    # 修正1：使用安全路径（跨平台兼容）
 #   input_path = os.path.join(os.path.dirname(__file__), "student_grade_input.txt")
    input_path = os.path.join(os.getcwd(), "student_grade_input.txt")
    with open(input_path, encoding='utf-8') as fin:  # 修正2：添加编码 & 正确路径
        for line in fin:
            # 修正3：使用更安全的换行符处理
            line = line.strip()
            # 修正4：添加空行检查
            if line:  
                ## 通过,来组分割
                result.append(line.split(","))
    return result

def sort_grades(datas):
    # 修正5：添加异常处理
    try:
        return sorted(datas, key=lambda x: int(x[2]), reverse=True)
    except (IndexError, ValueError) as e:
        print(f"排序错误: {e}")
        return datas

def write_file(datas):
    # 修正6：使用安全路径
    output_path = os.path.join(os.path.dirname(__file__), "student_grade_output.txt")
    with open(output_path, 'w', encoding='utf-8') as fout:
        for data in datas:
            # 修正7：确保数据类型统一
            fout.write(",".join(str(item) for item in data) + "\n")

# 新增：安全执行入口
if __name__ == "__main__":
    print("开始处理成绩数据...")
    try:
        datas = read_file()
        print(f"读取到 {len(datas)} 条记录")
        
        datas = sort_grades(datas)
        print("排序完成")
        
        write_file(datas)
        print("文件输出完成，请检查 student_grade_output.txt")
    except Exception as e:
        print(f"程序出错: {e}")